package April.twenty_five;

import org.omg.CORBA.PRIVATE_MEMBER;

import java.sql.*;
import java.util.concurrent.CountDownLatch;

/*
制作jdbc的工具类，
    定义工具类 直接返回数据库的连接对象
    配合在包 Twenty_six包中JdbcDemo_5来调用
 */
public class JdbcUtilDemo_1 {
    private JdbcUtilDemo_1 (){}

    private static Connection con;

    static {
        try{
            Class.forName("com.mysql.jdbc.Driver");
            String url = "jdbc:mysql://127.0.0.1:3306/myBase?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC";
            String userName = "root";
            String password = "123";
            con = DriverManager.getConnection(url, userName, password);
        }catch (Exception ex){
            throw new RuntimeException(ex+"数据库连接失败");
        }
    }
    /*
    定义静态方法 返回数据库的连接对象
     */
    public static Connection getConnection(){
        return con;
    }

    /*
    写关闭方法，
     */
    public static void close(Connection con , Statement stat, ResultSet rs){
        if(rs != null){
            try{
                rs.close();
            }catch(SQLException ex){}
        }
        if(stat != null){
            try{
                stat.close();
            }catch(SQLException ex){}
        }
        if(con != null){
            try{
                con.close();
            }catch(SQLException ex){}
        }
    }
//重写方法 关闭没有 ResultSet方法时的情况 增删改时不需要用这个ResultSet
    public static void close(Connection con , Statement stat){
        if(stat != null){
            try{
                stat.close();
            }catch(SQLException ex){}
        }
        if(con != null){
            try{
                con.close();
            }catch(SQLException ex){}
        }
    }
}
